Returning multiple Rows from PL/pgSQL-Function
От | Alvar Freude |
---|---|
Тема | Returning multiple Rows from PL/pgSQL-Function |
Дата | |
Msg-id | 63885762.994679598@[192.168.100.219] обсуждение исходный текст |
Ответы |
Re: Returning multiple Rows from PL/pgSQL-Function
|
Список | pgsql-sql |
Hi, I want to create a function (PL/pgSQL), which return multiple rows. But it fails -- when Creating the function, I get a notice: NOTICE: ProcedureCreate: return type 'records' is only a shell When executing it, this error: ERROR: fmgr_info: function 0: cache lookup failed How should I do this? The function is simple: CREATE FUNCTION foo (timestamp) RETURNS SETOF records AS ' BEGIN RETURN SELECT * FROM table; END; ' LANGUAGE 'plpgsql'; or, in more detail the exact function: CREATE FUNCTION get_emotions (timestamp) RETURNS SETOF records AS ' DECLARE start ALIAS FOR $1; end_id int4; BEGIN SELECT emotion_id FROM emotions WHERE date <=start LIMIT 1 INTO end_id; RETURN SELECT emotion_id,emotion1, [...] FROM emotions WHERE emotion_id BETWEEN end_id-3000 AND end_id ORDER BY date_epoch + full_rating*(3600*12) LIMIT 300; END; ' LANGUAGE'plpgsql'; Thanx for any help! Ciao Alvar -- | AGI ............................................................... | | Magirusstrasse 21B, 70469 Stuttgart . Fon +49 (0)711.228 74-50 .... | | http://www.agi.com/diary/ (english) . http://www.agi.de/tagebuch/ . | | >>>>>> NEWS >>> AGI holt Bronze-Loewen in Cannes! <<<<<<<<<<<<<<<<< |
В списке pgsql-sql по дате отправления: